home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Disc to the Future 2
/
Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin
/
MAC
/
THINKC
/
TCL1
/
CSCROLLL
/
CSCROLLL.C1
< prev
next >
Wrap
Text File
|
1992-02-19
|
3KB
|
99 lines
/*************************************************************************************
CScrollList.c
Standard scrolling list to allow dragging of elements to arrange in
any order.
gHandCursor must be loaded ahead of time (at application startup).
SUPERCLASS = CArrayPane
REQUIRES: CScrollListDragger
CTextEnvirons
by Dave Harkness
*************************************************************************************/
#include "CScrollList.h"
#include "CScrollListDragger.h"
#include "CTextEnvirons.h"
extern CursHandle gHandCursor;
/******************************************************************************
IScrollList
******************************************************************************/
void CScrollList::IScrollList( CView *anEnclosure, CBureaucrat *aSupervisor,
short aWidth, short aHeight,
short aHEncl, short aVEncl,
SizingOption aHSizing, SizingOption aVSizing)
{
CArrayPane::IArrayPane( anEnclosure, aSupervisor, aWidth, aHeight,
aHEncl, aVEncl, aHSizing, aVSizing);
} /* CScrollList::IScrollList */
/******************************************************************************
CreateTextEnvironment {OVERRIDE}
Create and initialize the text environment used for drawing text.
it will also be used for calculating the default indent and row height.
******************************************************************************/
void CScrollList::CreateTextEnvironment( void)
{
CTextEnvirons *textEnvirons;
TextInfoRec textInfo;
textEnvirons = new( CTextEnvirons);
itsEnvironment = textEnvirons;
textEnvirons->ITextEnvirons();
textInfo.fontNumber = geneva;
textInfo.theSize = 9;
textInfo.theStyle = 0;
textInfo.theMode = srcOr;
textEnvirons->SetTextInfo( &textInfo);
} /* CScrollList::CreateTextEnvironment */
/******************************************************************************
AdjustCursor {OVERRIDE}
Adjust the cursor to the dragging hand.
******************************************************************************/
void CScrollList::AdjustCursor( Point where, RgnHandle mouseRgn)
{
SetCursor( *gHandCursor);
} /* CScrollList::AdjustCursor */
/******************************************************************************
MakeMouseTask
Make the dragging mouse task to allow items in the list to be moved.
******************************************************************************/
CMouseTask *CScrollList::MakeMouseTask( short modifiers)
{
CScrollListDragger *tblTask;
if (!(selectionFlags & selOnlyOne))
return inherited::MakeMouseTask( modifiers);
tblTask = new( CScrollListDragger);
tblTask->IScrollListDragger( this, modifiers, selectionFlags);
return tblTask;
} /* CScrollList::MakeMouseTask */